package so.ifl.dao;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.session.RowBounds;

import so.ifl.vo.CarUseRecordVo;
import so.ifl.vo.FuelBillsVo;
import so.ifl.vo.InterimFeeVo;
import so.ifl.vo.RepairFeeVo;
import so.ifl.vo.TrainerCarReportVo;
import so.ifl.vo.TrainerCarVo;

/**
 *create by aaron.lu
 *create at 2012-3-18 下午11:57:29
 *<mailto: atyuan.lu@gmail.com>
 **/
public interface TrainerCarInfoDao {
	
	public List<TrainerCarVo> queryTrainerCarWithParamAndPagination(Map<String, Object> params, RowBounds rowBounds);
	
	public int countTrainerCarWithParam(Map<String, Object> params);
	
	public void insertTrainerCar(TrainerCarVo trainerCarVo);
	
	public void updateTrainerCar(TrainerCarVo trainerCarVo);
	
	public void deleteTrainerCar(Integer trainerCarId);
	
	public List<CarUseRecordVo> queryUseRecord(Map<String, Object> params, RowBounds rowBounds);
	
	public int countUseRecord(Map<String, Object> maps);
	
	public void insertUseRecord(CarUseRecordVo carUseRecordVo);
	
	public void deleteUseRecord(Integer carUseRecordId);
	
	public List<FuelBillsVo> queryFuelBills(Map<String, Object> params, RowBounds rowBounds);
	
	public Integer countFuelBills(Map<String, Object> params);
	
	public void insertFuelBills(FuelBillsVo fuelBillsVo);
	
	public void deleteFuelBills(Integer fuelBillsId);
	
	public List<InterimFeeVo> queryInterimFee(Map<String, Object> params, RowBounds rowBounds);
	
	public Integer countInterimFee(Map<String, Object> params);
	
	public void insertInterimFee(InterimFeeVo interimFeeVo);
	
	public void deleteInterimFee(Integer interimFeeId);
	
	public List<RepairFeeVo> queryRepairFee(Map<String, Object> params, RowBounds rowBounds);
	
	public Integer countRepairFee(Map<String, Object> params);
	
	public void insertRepairFee(RepairFeeVo repairFeeVo);
	
	public void deleteRepairFee(Integer repairFeeId);
	
	public List<TrainerCarReportVo> listTrainerCar(Map<String, Object> params);
	
	public List<TrainerCarReportVo> sumTrainCarFee(Map<String, Object> params);
 
}
